# re模块是正则表达式的专用模块
#使用正则表达式，你需要指定一些规则来描述那些你希望匹配的字符串集合。
##元字符      .   ^   $   *   +   ?   { }   [ ]   \   |   ( )
import re
re.search(r'FishC', 'I love FishC.com')
##          待搜索值   索引字符串
在第7-12位匹配到了
##结果<re.Match object; span=(7, 12), match='FishC'>

re.search(r'.', 'I love FishC.com')
通配符.可以匹配任何一个字符，默认匹配第一个
##<re.Match object; span=(0, 1), match='I'>

re.search(r'\.', 'I love FishC.com')
反斜杠\也可以屏蔽通配符的作用
##<re.Match object; span=(12, 13), match='.'>

re.search(r'\d', 'I love 123FishC.com')
\d可以通配任何一个数字，默认匹配一个数字
##<re.Match object; span=(7, 8), match='1'>

re.search(r'[aeiou]', 'I love FishC.com')
使用[]来表示一个字符类，只要类中有一个匹配成功就算成功
##<re.Match object; span=(3, 4), match='o'>
re.search(r'[a-z]', 'I love FishC.com')
##<re.Match object; span=(2, 3), match='l'>
<re.Match object; span=(0, 5), match='abbbc'>
##<re.Match object; span=(7, 8), match='1'>

re.search(r'ab{3}c', 'abbbc')
在匹配字符后加{}可以设定匹配次数，可以用数字或者区间来表示{3-10}就表示只要后边的b在3-10之间，都会匹配成功
##<re.Match object; span=(0, 5), match='abbbc'>

实例之匹配0-255之间的数：
re.search(r'[01]\d\d|2[0-4]\d|25[0-5]', '188')
0-199 200-240 250-255
##<re.Match object; span=(0, 3), match='188'>
实例之匹配一个ip地址：
re.search(r'(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])', '223.89.115.114')

re.search(r'ca*t','caaaaaat')
*可以不限制匹配次数，默认最大20亿个。。。。
##<re.Match object; span=(0, 8), match='caaaaaat'>
